HEVC (High Efficient Video Coding) is a video compression standard that is also known as H.265. To achieve better coding efficiency, HEVC employs a flexible block coding structure. For example, in HEVC, a picture is resolved into largest coding units or LCUs. A LCU is further composed of coding units or CUs. A CU is further composed of several prediction units or PUs for intra or inter-prediction. HEVC includes a merge mode to derive motion information from spatially or temporally neighboring coding units. The merge mode is named as such because it forms a merged region sharing motion information. A skip mode is considered to be a special case of the merge mode when coded block flags for a coding unit are equal to zero.
Early skip mode evaluation, in a motion estimation and mode decision phase of HEVC, has proven to be effective for the coding efficiency. There can be a significant coding performance loss if skip mode evaluation is switched off in the motion estimation and mode decision phase. However, such an early skip mode evaluation may create coding artifacts in encoded video frames.
Conventionally, only luma data is involved during motion estimation for a regular inter-mode evaluation and for merge/skip mode evaluation due to memory bandwidth and other architecture constraints. Therefore, an early skip mode evaluation and decision is based solely on the luma data. In some cases, when a luma prediction residual is sufficiently small, and can thus be skipped, the chroma prediction residual oftentimes is also small enough to be ignored. However, such a relationship between the luma and the chroma prediction residual is not necessarily true at all times. There can be cases in which the luma prediction residual is small enough to be ignored but the chroma prediction residual is still significantly large and cannot be ignored. In such cases, choosing a skip mode in the motion estimation and mode decision phase may create undesirable coding artifacts (e.g., color blending) because the significantly larger chroma prediction residual is not properly considered.